import socket

ip_port = ('127.0.0.1', 9000)  # 电话卡
BUFSIZE = 1024  # 收发消息的尺寸
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建一个TCP套接字（ipv4, tcp协议）
s.bind(ip_port)  # 手机插卡
s.listen(5)  # 手机待机，最大连接数为5


while True:  # 新增接收链接循环,可以不停的接电话
    conn, addr = s.accept()  # 接听电话(两个变量接收不同的返回数据)（接受到数据前阻塞代码继续执行）
    # print(conn)
    # print(addr)
    print('接到来自%s的消息' % addr[0])
    while True:  # 新增通信循环,可以不断的通信,收发消息
        msg = conn.recv(BUFSIZE)  # 接收具体通话内容

        if len(msg) == 0:   # 如果不加,那么正在链接的客户端突然断开,recv便不再阻塞,死循环发生
            break

        print(msg, type(msg))

        conn.send(msg.upper())  # 回复

    conn.close()  # 挂电话

    s.close()  # 关闭服务器
